今天來到最後一步驟,就是先前有提到的圖片,一直把它擱置到現在,因為想了想他的流程覺得最為複雜,把苦的留到最後一刻。
編輯頁面預留了一個上傳圖片的位置,在這是要讓使用者可以上傳圖片,在前台可以看到畫面的顯示功能,這部分可以用最簡單的方式完成。
input
按鈕點擊上傳圖片: 利用accept="image/*"
限制格式,onChange
後會將檔案放入imageUpload
中。input
按鈕樣式: 可以使用label
修改,先將input
隱藏,再用htmlFor
和id
的方式將label
與input
綁在一起,點label
便會觸發input
。function NewPost(){
//略
const [imageUpload, setImageUpload] = useState(null);
const previewImg = imageUpload ? URL.createObjectURL(imageUpload) : ""
return(
//略
<div className="flex">
<div className="imgwrap">
<img src={previewImg} alt="" />
</div>
<label className="uploadbtn" htmlFor="upload" >上傳</label>
<input type="file" accept="image/*" id="upload"
onChange={(e)=>setImageUpload(e.target.files[0])}/>
</div>
)
}
今天的時間好像只能先到這邊,明天要再繼續圖片的設定。